//package com.算法4.sort;
//
//import edu.princeton.cs.algs4.In;
//import edu.princeton.cs.algs4.StdOut;
//
///**
// * @className: Selection
// * @description: 希尔排序
// * @author: YUANG
// * @date: 2022/1/26
// **/
//public class Shell extends Example {
//    public static void main(String[] args) {
//        // 从标准输入读取字符串，将它们排序并输出
//        String[] a = In.readStrings();
//        sort(a);
//        assert isSorted(a);
//        show(a);
//    }
//
//    public static void sort(Comparable[] a) {
//        int N = a.length;
//        int h = 1;
//        while (h < N / 3) {
//            h = 3 * h + 1;
//        }
//        while (h >= 1) {
//            for (int i = h; i < N; i++) {//从第一组数据开始比较
//                for (int j = i; j >= h && less(a[j], a[j - h]); j -= h) {//每组数据内部进行插入排序
//                    exch(a, j, j - h);
//                }
//            }
//            h = h / 3;
//        }
//    }
//}
